// 导入express
const express = require('express');

const verifyFn = require('../middleware/loginVerify');

const userModel = require('../db/model/userModel');

const md5 = require('md5');

const abc = express.Router();

// 13. 配置post路由 - 登录请求接口
abc.post('/login',(req,res)=>{
    // 13.1 获取请求体数据
   let {username,pwd} = req.body;

   // res.send(`用户名：${username},密码：${pwd}`);
   // 13.2 查找数据中是否含有对应数据 find
//    let result = data.find(item=>item.username===username&&item.pwd===pwd);

    // 参数1：查找条件
    userModel.findOne({username,pwd:md5(pwd)},(err,data)=>{
        if(err)return;

        // console.log(data);
        if(data){
             // 13.3.1 如果查找到了
//            // 13.3.1.1 设置session相关数据
             req.session.username = data.username;
//            // 13.3.1.2 渲染登录成功跳转页
             res.render('loginSuccess.html');
        }else{
            res.send('抱歉，您输入的账号或密码错误，请重试');
        }
    })

   // res.send(result);
   // 13.3 判断查找数据结果
//    if(result){
//        // 13.3.1 如果查找到了
//            // 13.3.1.1 设置session相关数据
//        req.session.username = result.username;
//            // 13.3.1.2 渲染登录成功跳转页
//        res.render('loginSuccess.html');
//    }else{
//        // 13.3.2 如果没找到
//            // 13.3.2.1 返回用户名或密码错误提示
//        res.send('抱歉，您输入的账号或密码错误，请重试');
//    }
       
       
})
  
// 14. 配置get路由 - 退出登录请求接口
abc.get('/logout',verifyFn,(req,res)=>{
   // 14.1 使用loginVerify中间件 
   // 14.2 销毁session - req.session.destroy(callback)
       // 14.2.1 回调函数内渲染退出登录成功跳转页
   req.session.destroy(()=>{
       res.render('logoutSuccess.html');
   })
});

// 注册请求接口
abc.post('/register',(req,res)=>{
   let {username,pwd} = req.body;

    // 判断用户名是否存在
    userModel.findOne({username},(err,data)=>{
        if(data){
             res.send('您的用户名已被注册，请再起个名字吧');
        }else{
             //将提交到数据库
             userModel.create({username,pwd:md5(pwd)},(err,data)=>{
                if(err)return;

                res.send('添加成功');
            })
        }
        
    })

    

  
})

module.exports = abc;